package com.lk.util;

import com.google.gson.Gson;

import java.lang.reflect.Type;

/**
 * 使用gson   封装工具类
 *
 * @author : com.com.lk
 * @date 2021/11/20 15:44
 **/
public class JsonUtil {


    private static final Gson GSON = new Gson();

    /**
     * 转成 json格式
     *
     * @param obj 对象
     * @return
     */
    public static String jsonObjToString(Object obj) {
        return GSON.toJson(obj);
    }

    /**
     * 获取指定的类型
     *
     * @param json
     * @param zClass
     * @param <T>
     * @return
     */
    public static <T> T stringToBean(String json, Class<T> zClass) {
        return GSON.fromJson(json, zClass);
    }

    /**
     * 获取指定的类型 适用于 List ,Map Set等
     *
     * @param json 字符串
     * @param type 类型
     * @param <T>
     * @return
     */
    public static <T> T stringToType(String json, Type type) {
        return GSON.fromJson(json, type);
    }

}
